Rocketmq 指定消息投递queue

您所在的位置:网站首页 rocketmq queue Rocketmq 指定消息投递queue

Rocketmq 指定消息投递queue

2023-11-20 16:29| 来源: 网络整理| 查看: 265

Message message = new Message(JmsConfig.TOPIC,"taga" ,"6688" , ("hello xdclass rocketmq = "+text).getBytes() ); SendResult sendResult = payProducer.getProducer().send(message, new MessageQueueSelector() { @Override public MessageQueue select(List list, Message message, Object o) { int queueNum = Integer.parseInt(o.toString()); return list.get(queueNum); } },0); System.out.println(sendResult.toString());

默认一个topic 有4个队列,下标:0-3 ;

这里要重写该构造方法, 0 表示的是指投递第一个队列queue

 

查看控制台日志:

SendResult [sendStatus=SEND_OK, msgId=C0A80070082C18B4AAC247549DFA0008, offsetMsgId=C0A8218100002A9F000000000002D924, messageQueue=MessageQueue [topic=xdclass_pay_test_topic_666, brokerName=broker-a, queueId=0], queueOffset=10] SendResult [sendStatus=SEND_OK, msgId=C0A80070082C18B4AAC247549E720009, offsetMsgId=C0A8218100002A9F000000000002D9FE, messageQueue=MessageQueue [topic=xdclass_pay_test_topic_666, brokerName=broker-a, queueId=0], queueOffset=11]

该消息只投递到了 queueId= 0 的队列

投递的Id设置必须小于总的队列数  



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3